package io;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectInputStream;

public class OISDemo {
    /**
 * 程序的主入口点
 * 本函数演示了如何从文件中反序列化一个对象
 * 特别说明：这里的代码假设已经存在一个名为"peoson.obj"的文件，且该文件包含一个序列化的People对象
 * @param args 命令行参数，本例中未使用
 * @throws Exception 当文件读取或对象反序列化过程中发生错误时抛出
 * @throws ClassNotFoundException 如果反序列化的类在运行时找不到
 */
public static void main(String[] args) throws Exception, ClassNotFoundException {
    // 创建文件输入流，指向序列化对象的文件
    FileInputStream fis = new FileInputStream("peoson.obj");
    // 创建对象输入流，用于从文件输入流中读取对象
    ObjectInputStream ois = new ObjectInputStream(fis);
    // 从对象输入流中读取对象，并强制转换为People类型
    People p = (People) ois.readObject();
    // 输出反序列化完成的信息
    System.out.println("反序列完毕");
    // 打印反序列化后的People对象
    System.out.println(p);
    // 关闭对象输入流，释放资源
    ois.close();
}

}
